]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
shell-wm: Add a size-changed signal to handle the new plugin vfunc
authorRui Matos <tiagomatos@gmail.com>
Mon, 26 Sep 2016 15:33:35 +0000 (17:33 +0200)
committerRui Matos <tiagomatos@gmail.com>
Wed, 23 Nov 2016 17:42:59 +0000 (18:42 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=770345

src/gnome-shell-plugin.c
src/shell-wm-private.h
src/shell-wm.c

index acd022a1c19f196325e4f59435bdafc34ccaaf0d..ab5ebec6ece8d14ff4977d663d09505981f3e36c 100644 (file)
@@ -42,6 +42,8 @@ static void gnome_shell_plugin_minimize         (MetaPlugin          *plugin,
                                                  MetaWindowActor     *actor);
 static void gnome_shell_plugin_unminimize       (MetaPlugin          *plugin,
                                                  MetaWindowActor     *actor);
+static void gnome_shell_plugin_size_changed     (MetaPlugin          *plugin,
+                                                 MetaWindowActor     *actor);
 static void gnome_shell_plugin_size_change      (MetaPlugin          *plugin,
                                                  MetaWindowActor     *actor,
                                                  MetaSizeChange       which_change,
@@ -127,6 +129,7 @@ gnome_shell_plugin_class_init (GnomeShellPluginClass *klass)
   plugin_class->map              = gnome_shell_plugin_map;
   plugin_class->minimize         = gnome_shell_plugin_minimize;
   plugin_class->unminimize       = gnome_shell_plugin_unminimize;
+  plugin_class->size_changed     = gnome_shell_plugin_size_changed;
   plugin_class->size_change      = gnome_shell_plugin_size_change;
   plugin_class->destroy          = gnome_shell_plugin_destroy;
 
@@ -272,6 +275,13 @@ gnome_shell_plugin_unminimize (MetaPlugin         *plugin,
 
 }
 
+static void
+gnome_shell_plugin_size_changed (MetaPlugin         *plugin,
+                                 MetaWindowActor    *actor)
+{
+  _shell_wm_size_changed (get_shell_wm (), actor);
+}
+
 static void
 gnome_shell_plugin_size_change (MetaPlugin         *plugin,
                                 MetaWindowActor    *actor,
index 5b4089ad98a3720a3ed138594d12e472e62aa310..7e0399c5918d40496f6e034d4472fdc4bc2a855f 100644 (file)
@@ -12,6 +12,8 @@ void _shell_wm_minimize   (ShellWM         *wm,
                            MetaWindowActor *actor);
 void _shell_wm_unminimize (ShellWM         *wm,
                            MetaWindowActor *actor);
+void _shell_wm_size_changed(ShellWM         *wm,
+                            MetaWindowActor *actor);
 void _shell_wm_size_change(ShellWM         *wm,
                            MetaWindowActor *actor,
                            MetaSizeChange   which_change,
index bc50fb61f527aeda83e30a57c762038675860584..0b3f9258c2588c01a58453bc32c8f06a646f929a 100644 (file)
@@ -21,6 +21,7 @@ enum
 {
   MINIMIZE,
   UNMINIMIZE,
+  SIZE_CHANGED,
   SIZE_CHANGE,
   MAP,
   DESTROY,
@@ -74,6 +75,14 @@ shell_wm_class_init (ShellWMClass *klass)
                   NULL, NULL, NULL,
                   G_TYPE_NONE, 1,
                   META_TYPE_WINDOW_ACTOR);
+  shell_wm_signals[SIZE_CHANGED] =
+    g_signal_new ("size-changed",
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST,
+                  0,
+                  NULL, NULL, NULL,
+                  G_TYPE_NONE, 1,
+                  META_TYPE_WINDOW_ACTOR);
   shell_wm_signals[SIZE_CHANGE] =
     g_signal_new ("size-change",
                   G_TYPE_FROM_CLASS (klass),
@@ -329,6 +338,13 @@ _shell_wm_unminimize (ShellWM         *wm,
   g_signal_emit (wm, shell_wm_signals[UNMINIMIZE], 0, actor);
 }
 
+void
+_shell_wm_size_changed (ShellWM         *wm,
+                        MetaWindowActor *actor)
+{
+  g_signal_emit (wm, shell_wm_signals[SIZE_CHANGED], 0, actor);
+}
+
 void
 _shell_wm_size_change (ShellWM         *wm,
                        MetaWindowActor *actor,